1
Introduzione alla Lezione 3: Affrontare la Classificazione Non Lineare
EvoClass-AI002Lezione 3
00:00

Stiamo superando i limiti dei modelli lineari, che faticano a classificare dati non separabili da una linea retta. Oggi applichiamo il flusso di lavoro di PyTorch per creare un Reti Neuronal Deep (DNN) in grado di apprendere frontiere di decisione complesse e non lineari essenziali per compiti di classificazione del mondo reale.

1. Visualizzare la Necessità di Dati Non Lineari

Il nostro primo passo consiste nel creare un dataset sintetico impegnativo, come la distribuzione a due mezze lune, per dimostrare visivamente perché i modelli lineari semplici falliscono. Questa configurazione ci obbliga ad utilizzare architetture profonde per approssimare la curva intricata necessaria a separare le classi.

Proprietà dei Dati

  • Struttura dei Dati:Caratteristiche dei dati sintetici (ad esempio, $1000 \times 2$ per $1000$ campioni con 2 caratteristiche).
  • Tipo di Output: Un singolo valore di probabilità, spesso torch.float32, che rappresenta l'appartenenza alla classe.
  • Obiettivo: Creare una frontiera di decisione curvilinea attraverso un calcolo stratificato.
Il Potere delle Attivazioni Non Lineari
Il principio fondamentale delle DNN è l'introduzione della non linearità nei livelli nascosti tramite funzioni come ReLU. Senza queste, impilare livelli porterebbe semplicemente a un grande modello lineare, indipendentemente dalla profondità.
data_setup.py
TERMINALEbash — environment-classificazione
> Pronto. Clicca su "Esegui" per avviare.
>
ISPEZIONATORE DI TENSORI In tempo reale

Esegui il codice per ispezionare i tensori attivi
Domanda 1
Qual è lo scopo principale della funzione di attivazione ReLU in un livello nascosto?
Introduce non linearità in modo che le architetture profonde possano modellare curve
Accelerare la moltiplicazione matriciale
Garantire che l'uscita rimanga tra 0 e 1
Normalizzare l'uscita del livello a media zero
Domanda 2
Quale funzione di attivazione è richiesta nel outputlivello per un compito di classificazione binaria?
Sigmoid
Softmax
ReLU
Domanda 3
Quale funzione di perdita corrisponde direttamente a un problema di classificazione binaria con uscita Sigmoid?
Perdita di Entropia Incrociata Binaria (BCE)
Errore Quadratico Medio (MSE)
Perdita di Entropia Incrociata
Sfida: Progettare l'Architettura Fondamentale
Integrazione di componenti architettonici per un apprendimento non lineare.
Devi costruire un nn.Module per il compito delle due mezze lune. Caratteristiche di input: 2. Classi di output: 1 (probabilità).
Passo 1
Descrivi il flusso di calcolo per un singolo livello nascosto in questa DNN.
Soluzione:
Input $\to$ Livello Lineare (Matrice dei Pesi) $\to$ Attivazione ReLU $\to$ Uscita al Prossimo Livello.
Passo 2
Qual deve essere la dimensione dell'ultimo livello se la forma di input è $(N, 2)$ e usiamo la perdita BCE?
Soluzione:
L'ultimo livello deve avere dimensione $(N, 1)$ per produrre un singolo punteggio di probabilità per ogni campione, in accordo con la forma dell'etichetta.